import pygame as ga
from pygame.sprite import Sprite


class Bullet(Sprite):
    """负责管理飞船所有发射的子弹"""
    def __init__(self,ai_game):
        """负责在飞船的当前位置创建一个子弹的对象"""
        super().__init__()
        self.screen = ai_game.screen
        self.set = ai_game.set
        self.color = self.set.bullet_color
        #在(0,0)先创建一个子弹对象,然后再将子弹设置到正确的位置
        self.rect = ga.Rect(0,0,self.set.bullet_width,self.set.bullet_height)
        self.rect.midtop = ai_game.ship.rect.midtop
        #由于子弹不需要改变自己的横向位置,所以只记录一下Y轴
        self.y = float(self.rect.y)

    def update(self):
        """向上移动子弹"""
        self.y -= self.set.bullet_speed
        self.rect.y = self.y
    
    def draw_bullet(self):
        """负责将子弹画到屏幕上"""
        ga.draw.rect(self.screen,self.color,self.rect)